package com.fz.song.service;

import com.fz.song.exception.CustomException;
import com.fz.song.pojo.SysResource;
import com.fz.song.pojo.SysRole;
import com.fz.song.pojo.SysRoleUser;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * 角色服务类
 */
public interface RoleService {

    /**
     * 查询角色
     *
     * @param params
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageInfo<SysRole> queryRoleByPage(Map<String, Object> params, int pageNo, int pageSize);

    /**
     * 获取权限
     *
     * @return
     */
    SysRole getRoleById(int roleid) throws CustomException;

    /**
     * 保存权限,自己是被保存还是修改
     *
     * @param role
     * @return
     */
    int saveRole(SysRole role) throws CustomException;

    /**
     * 删除角色
     *
     * @param sysid
     * @return
     */
    int deleteRole(int sysid) throws CustomException;

    /**
     * 保存权限
     *
     * @param sysid
     * @param powerss
     * @return
     */
    boolean roles_savePowers(Integer sysid, String powerss) throws CustomException;

    /**
     * 获取权限集合
     *
     * @return
     */
    List<SysRole> getRoleListAll();


    /**
     * 查询用户的角色
     *
     * @param sysid
     * @return
     */
    List<SysRoleUser> getUserRole(int sysid);

    /**
     * 批量存储权限
     *
     * @param userid
     * @param roleids
     * @return
     */
    Boolean saveUserRole(int userid, String roleids);

    /**
     * 获取我的资源
     *
     * @param userid
     * @return
     */
    List<SysResource> getMyResource(int userid);


}
